: HOW TO USE THE MATHEMATICAL SUPPORT PROGRAM: GRAPHICAL ANALYSIS DEVELOPED AND ADAPTED TO VIC BY PER-ERICH SMEDBERG INTRODUCTION The intention of this program, is to serve as a matematical and pedagogic aid for studying complicated equations and functions by their graphs. As most equations can be reformulated to equate zero, their real-number solutions can be considered to be "intersections" between the x-axis and the graph of a function, defined by the left part of the reformulated equation. I.e. solution of equations turns into graphical analysis! The program allows you to define this function and plots the graph in high resolution, within an X-axis-range, which is also defined by you. High resolution here means that the graph, within the specified range, "fills out" all of the display, thereby forcing both axes (and their origin) to adapt to the graph, not the other way around! (A definit advantage compared to programs using a fixed origo!) This means, that also graphical areas, far from the axes origin, can be studied in detail by a "blow-up" of a specified range. So you can move to any part of the graph and have it plotted in any size, depending on the range you specify. If you start by specifying a side range, you will expose interesting parts of the graph, which later can be studied in detail by "blow-ups" of shrinked intervals. (Watch out for vast ranges, when it comes to plotting periodical functions though!) To further increase precision in determining intersections and extreme points, optional routines, implimented in the program, will precisize them on your demand. Furthermore, there is a routine for computing the integral of the function within a range, specified by you. All of these analytic options, can be required with the plotted graph left on the display. What this means in facilitating your choice of ranges, is obvious! GETTING STARTED & OPTION REVIEW The Program is stored in the ROM-memory of the cartridge. This means, that it becomes part of VIC's operational system, the very moment you plug the cartridge into the expansion slot of the computer! The advantage of this is obvious', No delays reading the program and no risk, having it spoiled by improper handling or longtime-storing! So get started by plugging it in and switch on the computer! The program starts immediatly. The first action from the computer is a prompting request: Y(X)= tDEFINE FUNCTION t You can now print the function you want to study! As an exercise, choose for instance: SIN(X) Notice that your text appears immediately to the right of the equals sign. You can correct misspellings etc. as usual with the DELETE- and INSERTkeys, but any attempt to erase the Y(X)= -expression or printing to the left of it, will only restart the operation! For defining the function, there are three and a half line, i.e. 76 character positions at your disposal! When you have finished your definition, you must let VIC know this, by pressing the 'RETURN'-key. (Alternatively by giving a final colon or writing "past" the 76:th position.) On the display now appears a menu, presenting all the service-options: MENU: FOR SERVICE PRESS: Fl = PLOT THE GRAPH. F2 = NEW FUNCTION. F3 = AXIS INTERSECT . F4 = EXPOSE FUNCTION F5 = FIND MAX. &MIN. F6 = CORR. IN EQUAT .. F7 = EVAL. INTEGRAL . STOP RETURNS MENU By pressing one of the yellow function keys you receive the announced operation. Naturally, you now want to see the graph of the chosen (SINE-)function! To do that, press the Fl-key! The display is erased and on the top line appears the request: STATE RANGE: (XO,XN)=? Let's choose a symmetrical range, where you are familiar with the sine- graph' Print: —3.14,3.14, and press the 'RETURN'-button! Now there will be a pause, while VIC does some calculating. So appear the coordinat-axes, immediately followed by the plotting of a graph. This is what you see: NEW RANGE? YES NO 1 3.14 Notice that VIC always prompts with a new question on the top line of the display, after an operation is finished! Too see the flexibility of the program, you can reply by pressing the Y(es)- button! The request: STATE RANGE: (XO,XN)=? appears again. This time, choose the range: — 3.14,6.28 and watch what happens! The result: NEW RANGE? YES NO 1 6.28 As you see, the coordinat-axes have been adapted to the expanded graph, which is covering maximum display. But what would happen if the current graph is lacking intersections with the axes? Will their information of coordinates be missing then? Let us make a test! First you answer the request for new range with a Y(ES). Then you specify it by: — 3, — 1 Result: NEW RANGE? YES NO The axes are still there, but not any more in their capacity of system-axes. They now only serve as "fram-dials" to support coordinates. It's important to separate these concepts, when you are using the analytical options of the program! To become familiar with the other options of the program, we now refuse the offer from another graph with a N(O). The offer is immediately replaced by the question: WANT GRAPHICAL DATA? Let's agree by pressing the Y-key. On the same line, the first option is now offered: WANT AXIS INTERSECT.? Again we agree, by pressing the Y-key. This results in a request on the next line: STATE AN APPROX. VALUE As we normally, at this stage, have the plotted graph on the display, the X-value of intersection can easily be estimated. Let's in our case, make the estimation: X=3. Print the figure and press 'RETURN'! The text on the line disappears and is replaced by: INTERSECT. X=3.142 and the question: WANT AXIS INTERSECT.? returns on the top line.You can now proceed, specifying intersections, but we suggest that you press the N(0)-button! 4 Before resuming the course of events, a comment on the intersection routine: As you saw before, when the system-axes can't connect to the current graph, they are replaced by "frame-dials", giving the coordinates of it. As the graph fills up all of the display, there will be intersection between it and the frame-dials. Don't misstake these for intersections with the system- axes! If you are uncertain about the nature of intersections, the presence (or absence) of axis-origins (zero-values) will show their true nature! We now return to the development of events, (after turning down the renewed offer for intersections.) On the top line the option is replaced by the offer: WANT EXTREMAL POINTS? The spotting, of local maxima and minima of a function, is a must in graphical analysis, so of course, such an option belongs in the program! Press the Y-key and see VIC requesting: GIVE RANGE OF SEARCH Let's scan the range X=0 to X=6.28. Print 0,628 and confirm it by pressing 'RETURN'! The computer now will work for a while, successivly presenting the extremas it finds: MAX.IN (1.57, 1) MIN IN (4.71,-1) TOP VALUE=1 LEAST VALUE=-1 After the last line, on the top reappears: WANT EXTREMAL POINTS? Notice that in the contest for "LEAST- &TOPVALUE-ship", the endpoints of your range also take part! This is important, when your problem is to find "best or worst" values, within a limited area of existence for the X-variabel. When we have come this far in the program, the graph is overwritten to the point, where VIC chooses to erase the display, when you answer the last question with a N(O). If you had neglected the option for extremes just now,then, as a last option, you had been offered: WANT AN INTEGRAL? If you then press the Y-key, it continues with an "INPUT"-request: RANGE OF INTEGR.=? on the top line. Instead, now the MENU returns on the display. To accomplish the same procedure, from this basis, you instead press the F7-key! Let's evaluate the area of asine-"hunch"! Answer the request, by giving the range: 0, 3.1416 The answer appears almost immediately when you press RETURN': r3.1416 ) Y(X)DX = 2 FOR THE INTEGRAND: Y(X) = SIN(X) Which honours the SIMPSON-approximation, responsible for the evaluation! The offer: WANT AN INTEGRAL? returns on the top line. The MENU returns on your NO! We have now given a review of the analytical options, implemented in the program. As you see in the MENU, there are also a few routines for editing and checking the function. . By pressing F4 (= EXPOSE FUNCTION), you receive: THE PRESENT FUNCTION: Y(X) = SIN(X) PRESS ANY KEY FOR MENU Press a key to get back to the MENU! To facilitate fast corrections or exchange of parameters in the expression, the routine F6 = CORR.IN EQUAL is implimented. If you press the F6-key, the program returns to input-mode, with your former function presented on the display, ready for editing or extension, like it was when you defined it! The CRSR-keys now enable you to move around within the equation, to overwrite, erase or insert new figures and functions, aided by the INSERT- & DELETE-keys etc.! When you are ready, the new expression will be accepted, if you press RETURN. (And the MENU returns.) If instead, you prefer to define an altogether different function, — then press F2 (= NEW FUNCTION). This option erases the old expression on the display, before it turns into input mode. Notice however, that the erasure will not be accepted, within the program, until you press RETURN! Before that, you are free to change your mind anytime. I.e. you can return to the menu, by pressing the STOP-key, and the old expression still stands. This possibility also exists during program execution. The only exception is when you are inputing data. If you should change your mind during an input, continue anyway, then press RETURN followed by STOP! Let's test editing our SINE-expression! Press F6 and see: Y(X) =SIN(X) appear on the display, with an invitingly flickering cursor under the S. Let the cursor stroll down the expression and print an addition which changes the function into: Y(X)=SIN(X)/X. Confirm it with a RETURN! Convince yourself that the new expression has been accepted, by pressing F4! When plotting a graph, (within the range you have specified), the program evaluates 160 evenly distributed points, which will be presented on the display. If you make the interval very vast, the distance between points will also be large. So, if your function is periodic, don't expect that from your graph! This program was not intended to substitute an highfrequency oscilloscope, even if it can make a good model within proper ranges! You often choose to study graphs within a "symmetric" range. This involves a risk of discontinuities among the sampled points! If, for instance, X=o is one of them, at the evolution of SIN(X)/X, the program will crash, leaving a DIVISION by ZERO-message. To avoid this kind of timeconsuming breakdowns, the program automatically increases every chosen X by a billionth. In most applications, this displacement won't cause any visible change in the shape or situation of the graph. To recieve a VERY FAST response in finding intersections, the "NEWTON- RAPHSON"-method has been used. This method works on the condition, that searching for the intersection starts from a point CLOSE TO IT! If you don't give a "close enough" estimation of the intersection, the method might fail. As the graph is very accurate, misestimations will be rare. We will now show you an application to the option. FINDING REAL SOLUTIONS OF AN EQUATION As an exampel we choose the solution of: -X e = X This equation must first be reformulated into: EXP(-X)-X=0 And we solve it, by studying the intersections of: Y(X)=EXP(-X)-X Activate the program according to the former descriptions. Print the function and chose the option: Fl=PLOTTHE GRAPH On the request: STATE RANGE: (XO,XN)=? give the interval: 0,4 . As a result you receive this graph: 1 1-3.98 Choose the INTERSECTION routine and give the estimation 0.5, suggested by the graph! The computer precisezes: INTERSECT. X = 0.567 Which is a correctly rounded solution to our equation! & commodore ^COMPUTER Made in Sweden by Box 42054, S-126 12 Stockholm